package main

import "fmt"

type X struct{}

func (x *X) test(){
	println("h1",x)
}
func main(){
	a := X{} // 实例化
	a.test()   // 正确

	(&X{}).test()  // 正确  (&X{})  指针

	//(X{}).test() // 报错 cannot call pointer method on X literal
	// X{} 非指针 也没有实例化  所以会报错
	fmt.Println(X{})

}

// receiver必须是合法指针 或者 能够获取实例地址
